package com.alipay.api.request;

import com.alipay.api.AlipayUploadRequest;
import com.alipay.api.FileItem;
import com.alipay.api.internal.util.AlipayHashMap;
import com.alipay.api.response.AlipayZdatafrontDatatransferedFileuploadResponse;
import java.util.HashMap;
import java.util.Map;

public class AlipayZdatafrontDatatransferedFileuploadRequest implements AlipayUploadRequest {

   private AlipayHashMap udfParams;
   private String apiVersion = "1.0";
   private String columns;
   private FileItem file;
   private String fileDescription;
   private String fileDigest;
   private String fileType;
   private String primaryKey;
   private Long records;
   private String typeId;
   private String terminalType;
   private String terminalInfo;
   private String prodCode;
   private String notifyUrl;


   public void setColumns(String columns) {
      this.columns = columns;
   }

   public String getColumns() {
      return this.columns;
   }

   public void setFile(FileItem file) {
      this.file = file;
   }

   public FileItem getFile() {
      return this.file;
   }

   public void setFileDescription(String fileDescription) {
      this.fileDescription = fileDescription;
   }

   public String getFileDescription() {
      return this.fileDescription;
   }

   public void setFileDigest(String fileDigest) {
      this.fileDigest = fileDigest;
   }

   public String getFileDigest() {
      return this.fileDigest;
   }

   public void setFileType(String fileType) {
      this.fileType = fileType;
   }

   public String getFileType() {
      return this.fileType;
   }

   public void setPrimaryKey(String primaryKey) {
      this.primaryKey = primaryKey;
   }

   public String getPrimaryKey() {
      return this.primaryKey;
   }

   public void setRecords(Long records) {
      this.records = records;
   }

   public Long getRecords() {
      return this.records;
   }

   public void setTypeId(String typeId) {
      this.typeId = typeId;
   }

   public String getTypeId() {
      return this.typeId;
   }

   public String getNotifyUrl() {
      return this.notifyUrl;
   }

   public void setNotifyUrl(String notifyUrl) {
      this.notifyUrl = notifyUrl;
   }

   public String getApiVersion() {
      return this.apiVersion;
   }

   public void setApiVersion(String apiVersion) {
      this.apiVersion = apiVersion;
   }

   public void setTerminalType(String terminalType) {
      this.terminalType = terminalType;
   }

   public String getTerminalType() {
      return this.terminalType;
   }

   public void setTerminalInfo(String terminalInfo) {
      this.terminalInfo = terminalInfo;
   }

   public String getTerminalInfo() {
      return this.terminalInfo;
   }

   public String getProdCode() {
      return this.prodCode;
   }

   public void setProdCode(String prodCode) {
      this.prodCode = prodCode;
   }

   public String getApiMethodName() {
      return "alipay.zdatafront.datatransfered.fileupload";
   }

   public Map getTextParams() {
      AlipayHashMap txtParams = new AlipayHashMap();
      txtParams.put("columns", this.columns);
      txtParams.put("file_description", this.fileDescription);
      txtParams.put("file_digest", this.fileDigest);
      txtParams.put("file_type", this.fileType);
      txtParams.put("primary_key", this.primaryKey);
      txtParams.put("records", (Object)this.records);
      txtParams.put("type_id", this.typeId);
      if(this.udfParams != null) {
         txtParams.putAll(this.udfParams);
      }

      return txtParams;
   }

   public void putOtherTextParam(String key, String value) {
      if(this.udfParams == null) {
         this.udfParams = new AlipayHashMap();
      }

      this.udfParams.put(key, value);
   }

   public Map getFileParams() {
      HashMap params = new HashMap();
      params.put("file", this.file);
      return params;
   }

   public Class getResponseClass() {
      return AlipayZdatafrontDatatransferedFileuploadResponse.class;
   }
}
